package com.ctshk.rpc.order.ship.service;

import com.ctshk.common.dto.Result;
import com.ctshk.common.model.TokenUser;
import com.ctshk.rpc.order.ship.dto.ShipOrderInfoDTO;
import com.ctshk.rpc.order.ship.dto.cport.AppShipOrderInfoDTO;
import com.ctshk.rpc.order.ship.req.*;

import java.util.List;

/**
 * @Description
 * @Author wansi <gaylen15527491065@yeah.net>
 * @Date 2021/5/28
 */
public interface IAppShipOrderService {

    /**
     * 下单接口
     * @param shipOrderReq
     * @return
     */
    Result saveShipOrder(AppShipOrderReq shipOrderReq);

    /**
     * 支付下单
     * @param
     * @param appShipOrderCollectionReq
     * @return
     */
    Result payOrder(AppShipOrderCollectionReq appShipOrderCollectionReq);


    /**
     * 待支付取消訂單
     * @param cancelOrderReq
     * @return
     */
    Result cancelOrderBeforePay(ShipCancelOrderReq cancelOrderReq);


    /**
     * 已付款取消订单
     * @param cancelOrderReq
     * @return
     */
    Result cancelApprove(ShipCancelOrderReq cancelOrderReq);


    /**
     * 订单详情接口
     * @param id
     * @return
     */
    Result<AppShipOrderInfoDTO> queryOrderDetail(Long id);
}
